package com.hqully.labmanage.service;

import com.github.pagehelper.PageInfo;
import com.hqully.labmanage.domain.dto.LabManagerDTO;
import com.hqully.labmanage.domain.dto.PageDTO;

import java.util.List;

/**
 * <p>
 * 针对数据库表[labManagerDTO]的操作Service
 * </p>
 *
 * @entity {@link LabManagerDTO}
 * @date 2022-10-08 10:05:23 <br>
 * @author hqully <br>
 * @version 1.0
 */

public interface LabManagerService {

     /**
      * <p>
      *     根据[labManagerDTO]的参数分页条件查询实验室管理员列表
      * </p>
      * @param page    分页参数
      * @param labManagerDTO 查询对象条件参数
      * @return {@link PageInfo<LabManagerDTO>} 实验室管理员DTO分页列表
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     PageInfo<LabManagerDTO> pageLabManagers(PageDTO page, LabManagerDTO labManagerDTO);


     /**
      * <p>
      *     根据[labManagerDTO]的参数条件查询实验室管理员
      * </p>
      * @param labManagerDTO 查询对象
      * @return {@link List<LabManagerDTO>} 实验室管理员DTO列表
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     List<LabManagerDTO> listLabManagers(LabManagerDTO labManagerDTO);


     /**
      * <p>
      *     添加实验室管理员
      * </p>
      * @param labManagerDTO 实验室管理员DTO
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int addLabManager(LabManagerDTO labManagerDTO);

     /**
      * <p>
      *     更新实验室管理员
      * </p>
      * @param labManagerDTO 实验室管理员DTO
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int updateLabManager(LabManagerDTO labManagerDTO);


     /**
      * <p>
      *     通过[id]删除实验室管理员
      * </p>
      * @param id 实验室管理员id
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int deleteLabManagerById(String id);

}
